% % 参数设置
% fs = 1000;         % 采样频率 1kHz
% t = 0:1/fs:1-1/fs; % 时间向量
% f1 = 50;           % 信号频率1 (Hz)
% f2 = 120;          % 信号频率2 (Hz)

% % 生成含噪声的信号
% signal = 1.0 * sin(2*pi*f1*t) + 0.5 * sin(2*pi*f2*t);
% signal = signal + 0.2*randn(size(t)); % 添加高斯白噪声

fs = 1000;         % 采样频率 1kHz
N = 1000;
sigSourceCfg.freqs = [100, 200, 300]; % 复正弦信号的频率（Hz）
sigSourceCfg.gains = [1, 0.8, 0.6]; % 复正弦信号的频率（Hz）
sigSourceCfg.noisePower = 1e-1; % 噪声功率
sigSourceCfg.fs = fs; % 采样率（Hz）
sigSourceCfg.numSamples = N; % 样本数
% 生成信号
signal = sinu_generator(sigSourceCfg);

% APES参数
M = 32;            % 滤波器长度（通常为信号长度的1/3到1/2）
NFFT = 1024;       % 频率分辨率

% 调用APES谱估计函数
[P_apes, f] = apes(signal, fs, M, NFFT);
P_apes_db = mag2db(P_apes);
% 绘制结果
% xlim([0, fs/2]);

fig = figure('Visible','off');
plot(f, P_apes_db, 'LineWidth', 1.5); % 绘制幅度谱
title('APES Spectrum Estimation');
xlabel('Frequency (Hz)');
ylabel('amplitute');
grid on;
exportgraphics(fig,'test.jpg');
close(fig);